import random
import Grid2D
from Grid2D import *


class SimFloresta(Grid2D):
    def __init__(self,SCREEN,grid_size,f=0.0001,g=0.01,r=0.02):
        Grid2D.__init__(self, SCREEN, grid_size,g)
        self.f = f
        self.r = r
    
    def setupInit(self,prob):
        for p in self.grid:
            if random.randint(0,100) <= prob:
                p.setState(ESTADO_ARVORE)
    
    
    def updateStatesPrimavera(self):
        #----Primavera----
        #Regeneracao de arvores
        for p in self.getGrid():
            p.gerarArvore()
            
    def updateStatesVerao(self):     
        #----Verao----
        #Fogos naturais - Arvores ficam em estado de FOGO_EMINENTE
        for p in self.getGrid():
            p.gerarFogoNatural(self.f)
        
        #Propagacao de Fogos - Apenas propaga se ESTADO_FOGO e passa a ESTADO_CLAREIRA
        for p in self.getGrid():
            p.propagarFogo(self.r)
        
        #Passar de ESTADO_FOGO_EMINENTE para ESTADO_FOGO
        for p in self.getGrid():
            p.gerarFogo()
        
        
    
    
        
          
            
    
            